Image transporting is very important today. Image transporting requires a lot of computer resources. A lot of bandwidth is occupied when transporting large-sized image data over the Internet. Therefore, these image data are compressed before transporting. The typical compression technologies are JPEG technology and MPEG technology. In JPEG technology, the frame is separated into many blocks. Each block is 8×8 pixels. These blocks are sequentially stored in the memory. Then, a discrete cosine transform (DCT) is performed.
FIG. 1A illustrates a frame with M×N pixels that is separated into many blocks. Each block is 8×8 pixels. The block 1 includes the first pixel to the (k×k)th pixel. The block 2 includes the (k×k+1)th pixel to the (k×2k)th pixel. The rest may be deduced by analogy. When the frame with M×N pixels is stored in a memory, these pixels, the first pixel to the (M×N)th pixel, are sequentially stored in the memory as shown in FIG. 1B. In other words, as shown is the FIG. 1B, the storing order is from the first pixel to the last pixel, (k(N−k)+k)th pixel, in the first row. After the pixels in the first row are stored, the pixels in the second row are started to store from the first pixel, (k+1)th pixel, to the last pixel in the second row. The rest may be deduced by analogy until all pixels are finished to store.
However, this kind of storage method may cause the pixels of the same block to be dispersed in a memory. FIG. 1C illustrates the storage status of these pixels in the memory. For example, the first row of pixels 1a, including the first pixel to the kth pixel, in the block 1 are arranged in the first row of the memory. However, the second row of pixels 1b, including the (k+1)th pixel to the 2kth pixel, in the block 1 are arranged in the (N/k+1)th row of the memory. As a result, the pixels of the same block are not located in sequential addresses in the memory. Therefore, before a DCT calculation of each block is processed, the pixels of the same block are extracted from inconsecutive locations of the memory to recover a block with k×k, which may waste a lot of calculation time.
Therefore, a processing apparatus that may pre-arrange the pixels in a sequential address in a memory is required. Such processing apparatus may help the post processing apparatus to move a continuous and mass data to reduce the calculation time. For example, the K×K pixels may be moved together. Therefore, it is not necessary to individually move K pixels k times to group a K×K block.